package com.ruoyi.classai.domain.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 学生信息对象 ewc_student
 *
 * @author lcj
 * @date 2025-02-27
 */
@Data
@Schema(description="学生信息对象dto")
public class EwcStudentDto implements Serializable{

    private static final long serialVersionUID = 1L;


    /** 学生唯一标识 */
    @Schema(description  = "学生唯一标识")
    private String id;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    @NotBlank(message = "学生名称不能为空")
    @Schema(description  = "学生姓名")
    private String studentName;

    /** 学生姓名 */
    @Excel(name = "学号")
    @NotBlank(message = "学生学号不能为空")
    @Schema(description  = "学号")
    private String studentNo;

    /** 性别 */
    @Excel(name = "性别")
    @NotNull(message = "性别不能为空")
    @Schema(description  = "性别")
    private String gender;

    /** 出生日期 */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    @Schema(description  = "出生日期")
    private Date birthdate;

    /** 学生头像路径 */
    @Excel(name = "学生头像路径")
    @Schema(description  = "学生头像路径")
    private String avatarPath;

    /** 所属班级ID */
    @NotBlank(message = "所属班级不能为空")
    @Schema(description  = "所属班级ID")
    private String classId;

    /** 学生身高 */
    @Schema(description  = "学生身高")
    private Float studentHeight;

    /** 学生体重 */
    @Schema(description  = "学生体重")
    private Float studentWeight;

    /** 分组ID */
    @Schema(description  = "分组ID")
    private Integer groupId;

    /** 分组ID */
    @Schema(description  = "手机号")
    private String mobileNo;

    /** 学生状态(1正常2见习) */
    @Schema(description  = "学生状态(1正常2见习)")
    private Integer status;

}
